package com.gin.pixiv.response.profile

import com.fasterxml.jackson.databind.annotation.JsonDeserialize
import com.gin.pixiv.deserializer.LongKeyListDeserializer
import com.gin.pixiv.deserializer.PickupDeserializer
import com.gin.pixiv.response.base.WorkBody
import com.gin.pixiv.response.manga.MangaSeries
import com.gin.pixiv.response.series.NovelSeries

/**
 * 用户作品完整概况
 * @author BX-Gin
 * @since 2024/3/2 9:50
 */
class ProfileAll {
    /**
     * 插画ID
     */
    @JsonDeserialize(using = LongKeyListDeserializer::class)
    var illusts: List<Long>? = null

    /**
     * 漫画ID
     */
    @JsonDeserialize(using = LongKeyListDeserializer::class)
    var manga: List<Long>? = null

    /**
     * 小说ID
     */
    @JsonDeserialize(using = LongKeyListDeserializer::class)
    var novels: List<Long>? = null

    /**
     * 漫画系列
     */
    var mangaSeries: List<MangaSeries>? = null

    /**
     * 小说系列
     */
    var novelSeries: List<NovelSeries>? = null

    /**
     * 作品精选，实际类型为 [com.gin.pixiv.response.illustration.SimpleIllustration] 或 [com.gin.pixiv.response.novel.SimpleNovel]
     */
    @JsonDeserialize(using = PickupDeserializer::class)
    var pickup: List<WorkBody>? = null

}